Motion Localization in a Wireless Mesh Network Based on Motion Indicator Values

ABSTRACT

In a general aspect, a location of detected motion in a space is determined. In some aspects, motion of an object in a space is detected based on wireless signals communicated through the space by a wireless communication system that includes multiple wireless communication devices. Each wireless signal is transmitted and received by a respective pair of the wireless communication devices. Motion indicator values are computed for the respective wireless communication devices. The motion indicator value for each individual wireless communication device represents a degree of motion detected by the individual wireless communication device based on a subset of the wireless signals transmitted or received by the individual wireless communication device. A location of the detected motion in the space is determined based on the motion indicator values.

BACKGROUND

The present disclosure generally relates to motion detection andlocalization.

Motion detection systems have been used to detect movement, for example,of objects in a room or an outdoor area. In some example motiondetection systems, infrared or optical sensors are used to detectmovement of objects in the sensor's field of view. Motion detectionsystems have been used in security systems, automated control systemsand other types of systems.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates an example wireless communication system;

FIG. 1B illustrates an example modem of a motion detector device;

FIG. 1C illustrates example communication paths defining a communicationlink between wireless communication devices;

FIG. 2 illustrates an example motion probe signal;

FIGS. 3A and 3B illustrate example signals communicated between wirelesscommunication devices;

FIGS. 4A and 4B illustrate an example wireless communication system;

FIG. 5A is a table of example sequence values indicated by wirelesssignals transmitted and received in the wireless communication system ofFIGS. 4A and 4B according to a scenario of one-hundred percent (100%)throughputs;

FIG. 5B is a table of example sequence values indicated by motion probesignals received in the wireless communication system of FIGS. 4A and 4Baccording to a scenario of various throughputs;

FIG. 5C is a table of example motion information for communication linksin the wireless communication system of FIGS. 4A and 4B;

FIG. 5D is a table of example aggregate motion indicator values andconfidence factors corresponding to wireless communication devices inthe wireless communication network of FIGS. 4A and 4B; and

FIG. 6 illustrates a process of determining a location of detectedmotion in a space.

DETAILED DESCRIPTION

In some aspects of what is described here, the location of detectedmotion in a space can be determined based on motion indicator values,time factors, or a combination thereof. For example, in some instances,the location of detected motion may be determined based on motionindicator values for respective wireless communication devices or linksin a wireless communication system, such as a wireless mesh network. Themotion indicator value for each individual wireless communication devicemay represent a degree of motion detected by the individual wirelesscommunication device (generally, or on a specific communication link),and may be based on a subset of the wireless signals transmitted orreceived by that wireless communication device. The location of detectedmotion in the space can be a likelihood that the object is near one ormore of the wireless communication devices that have the highest motionindicator values. The location can be determined by selecting thehighest motion indicator value, or selecting the motion indicator valuesthat are greater than a threshold.

As another example, in some instances, the location of detection motionmay be determined based on time factors for respective wirelesscommunication devices or links. The time factors may be, or may be basedon: (i) range of sequence values included in the motion probe signalsused to detect motion on that communication link, (ii) a set (e.g., all)of the sequence values included in the motion probe signals used todetect motion on that communication link, (iii) the minimum or maximumsequence value in the set of sequence values included in the motionprobe signals used to detect motion on that communication link, or (iv)another indicator of a time period over which motion probe signals areobtained to detect motion. For example, the time factor may be aweighting factor that is based on the maximum or minimum sequence valuesin the set of motion probe signals used to detect motion by a device oron a particular communication link between devices. The weighting factormay be used to weight the motion indicator value for the device or link,and the weighted motion indicator value may be used to determine thelocation of the detected motion.

The systems and techniques described here may provide one or moreadvantages in some instances. For example, motion of an object may bedetected based on wireless signals (e.g., radio frequency (RF) signals)received by a wireless communication device, without the need for clearline-of-sight. In addition, the location of the detected motion may bedetermined based on motion indicator values for each of multiplewireless communication devices, time factors, or both.

FIG. 1A illustrates an example wireless communication system 100. Theexample wireless communication system 100 includes three wirelesscommunication devices—a first wireless communication device 102A, asecond wireless communication device 102B, and a third wirelesscommunication device 102C. The example wireless communication system 100may include additional wireless communication devices and othercomponents (e.g., additional wireless communication devices, one or morenetwork servers, network routers, network switches, cables, or othercommunication links, etc.).

The example wireless communication devices 102A, 102B, 102C can operatein a wireless network, for example, according to a wireless networkstandard or another type of wireless communication protocol. Forexample, the wireless network may be configured to operate as a WirelessLocal Area Network (WLAN), a Personal Area Network (PAN), a metropolitanarea network (MAN), or another type of wireless network. Examples ofWLANs include networks configured to operate according to one or more ofthe 802.11 family of standards developed by IEEE (e.g., Wi-Fi networks),and others. Examples of PANs include networks that operate according toshort-range communication standards (e.g., BLUETOOTH®, Near FieldCommunication (NFC), ZigBee), millimeter wave communications, andothers.

In some implementations, the wireless communication devices 102A, 102B,102C may be configured to communicate in a cellular network, forexample, according to a cellular network standard. Examples of cellularnetworks include networks configured according to 2G standards such asGlobal System for Mobile (GSM) and Enhanced Data rates for GSM Evolution(EDGE) or EGPRS; 3G standards such as Code Division Multiple Access(CDMA), Wideband Code Division Multiple Access (WCDMA), Universal MobileTelecommunications System (UMTS), and Time Division Synchronous CodeDivision Multiple Access (TD-SCDMA); 4G standards such as Long-TermEvolution (LTE) and LTE-Advanced (LTE-A); and others.

In the example shown in FIG. 1A, the wireless communication devices102A, 102B, 102C can be, or they may include, standard wireless networkcomponents. For example, the wireless communication devices 102A, 102B,102C may be commercially-available Wi-Fi access points or another typeof wireless access point (WAP) performing one or more operations asdescribed herein that are embedded as instructions (e.g., software orfirmware) on the modem of the WAP. In some cases, the wirelesscommunication devices 102A, 102B, 102C may be nodes of a wireless meshnetwork, such as, for example, a commercially-available mesh networksystem (e.g., GOOGLE WIFI). In some cases, another type of standard orconventional Wi-Fi transmitter device may be used. The wirelesscommunication devices 102A, 102B, 102C may be implemented without Wi-Ficomponents; for example, other types of standard or non-standardwireless communication may be used for motion detection. In some cases,the wireless communication devices 102A, 102B, 102C can be, or they maybe part of, a dedicated motion detection system. For example, thededicated motion detection system can include a hub device and one ormore beacon devices (as remote sensor devices), and the wirelesscommunication devices 102A, 102B, 102C can be either a hub device or abeacon device in the motion detection system.

As shown in FIG. 1A, the example wireless communication device 102Cincludes a modem 112, a processor 114, a memory 116, and a power unit118; any of the wireless communication devices 102A, 102B, 102C in thewireless communication system 100 may include the same, additional ordifferent components, and the components may be configured to operate asshown in FIG. 1A or in another manner. In some implementations, themodem 112, processor 114, memory 116, and power unit 118 of a wirelesscommunication device are housed together in a common housing or otherassembly. In some implementations, one or more of the components of awireless communication device can be housed separately, for example, ina separate housing or other assembly.

The example modem 112 can communicate (receive, transmit, or both)wireless signals. For example, the modem 112 may be configured tocommunicate radio frequency (RF) signals formatted according to awireless communication standard (e.g., Wi-Fi or Bluetooth). The modem112 may be implemented as the example wireless network modem 112 shownin FIG. 1B, or may be implemented in another manner, for example, withother types of components or subsystems. In some implementations, theexample modem 112 includes a radio subsystem and a baseband subsystem.In some cases, the baseband subsystem and radio subsystem can beimplemented on a common chip or chipset, or they may be implemented in acard or another type of assembled device. The baseband subsystem can becoupled to the radio subsystem, for example, by leads, pins, wires, orother types of connections. FIG. 1B illustrates an example modem 112 ofa wireless communication device.

In some cases, a radio subsystem in the modem 112 can include one ormore antennas and radio frequency circuitry. The radio frequencycircuitry can include, for example, circuitry that filters, amplifies orotherwise conditions analog signals, circuitry that up-converts basebandsignals to RF signals, circuitry that down-converts RF signals tobaseband signals, etc. Such circuitry may include, for example, filters,amplifiers, mixers, a local oscillator, etc. The radio subsystem can beconfigured to communicate radio frequency wireless signals on thewireless communication channels. As an example, the radio subsystem mayinclude a radio chip 113, an RF front end 115, and one or more antennas117, as illustrated in FIG. 1B. A radio subsystem may include additionalor different components. In some implementations, the radio subsystemcan be or include the radio electronics (e.g., RF front end, radio chip,or analogous components) from a conventional modem, for example, from aWi-Fi modem, pico base station modem, etc. In some implementations, theantenna includes multiple antennas.

In some cases, a baseband subsystem in the modem 112 can include, forexample, digital electronics configured to process digital basebanddata. As an example, the baseband subsystem may include a baseband chip111, as illustrated in FIG. 1B. A baseband subsystem may includeadditional or different components. In some cases, the basebandsubsystem may include a digital signal processor (DSP) device or anothertype of processor device. In some cases, the baseband system includesdigital processing logic to operate the radio subsystem, to communicatewireless network traffic through the radio subsystem, to detect motionbased on motion detection signals received through the radio subsystemor to perform other types of processes. For instance, the basebandsubsystem may include one or more chips, chipsets, or other types ofdevices that are configured to encode signals and deliver the encodedsignals to the radio subsystem for transmission, or to identify andanalyze data encoded in signals from the radio subsystem (e.g., bydecoding the signals according to a wireless communication standard, byprocessing the signals according to a motion detection process, orotherwise).

In some instances, the radio subsystem in the example modem 112 receivesbaseband signals from the baseband subsystem, up-converts the basebandsignals to radio frequency (RF) signals, and wirelessly transmits theradio frequency signals (e.g., through an antenna). In some instances,the radio subsystem in the example modem 112 wirelessly receives radiofrequency signals (e.g., through an antenna), down-converts the radiofrequency signals to baseband signals, and sends the baseband signals tothe baseband subsystem. The signals exchanged between the radiosubsystem and the baseband subsystem may be digital or analog signals.In some examples, the baseband subsystem includes conversion circuitry(e.g., a digital-to-analog converter, an analog-to-digital converter)and exchanges analog signals with the radio subsystem. In some examples,the radio subsystem includes conversion circuitry (e.g., adigital-to-analog converter, an analog-to-digital converter) andexchanges digital signals with the baseband subsystem.

In some cases, the baseband subsystem of the example modem 112 cancommunicate wireless network traffic (e.g., data packets) in thewireless communication network through the radio subsystem on one ormore network traffic channels. The baseband subsystem of the modem 112may also transmit or receive (or both) signals (e.g., motion probesignals or motion detection signals) through the radio subsystem on adedicated wireless communication channel. In some instances, thebaseband subsystem generates motion probe signals for transmission, forexample, in order to probe a space for motion. In some instances, thebaseband subsystem processes received motion detection signals (signalsbased on motion probe signals transmitted through the space), forexample, to detect motion of an object in a space.

The example processor 114 can execute instructions, for example, togenerate output data based on data inputs. The instructions can includeprograms, codes, scripts, or other types of data stored in memory.Additionally or alternatively, the instructions can be encoded aspre-programmed or re-programmable logic circuits, logic gates, or othertypes of hardware or firmware components. The processor 114 may be orinclude a general purpose microprocessor, as a specialized co-processoror another type of data processing apparatus. In some cases, theprocessor 114 performs high level operation of the wirelesscommunication device 102C. For example, the processor 114 may beconfigured to execute or interpret software, scripts, programs,functions, executables, or other instructions stored in the memory 116.In some implementations, the processor 114 may be included in the modem112.

The example memory 116 can include computer-readable storage media, forexample, a volatile memory device, a non-volatile memory device, orboth. The memory 116 can include one or more read-only memory devices,random-access memory devices, buffer memory devices, or a combination ofthese and other types of memory devices. In some instances, one or morecomponents of the memory can be integrated or otherwise associated withanother component of the wireless communication device 102C. The memory116 may store instructions that are executable by the processor 114. Forexample, the instructions may include instructions for determining alocation of detected motion, such as through one or more of theoperations of the example process 600 of FIG. 6.

The example power unit 118 provides power to the other components of thewireless communication device 102C. For example, the other componentsmay operate based on electrical power provided by the power unit 118through a voltage bus or other connection. In some implementations, thepower unit 118 includes a battery or a battery system, for example, arechargeable battery. In some implementations, the power unit 118includes an adapter (e.g., an AC adapter) that receives an externalpower signal (from an external source) and coverts the external powersignal to an internal power signal conditioned for a component of thewireless communication device 102C. The power unit 118 may include othercomponents or operate in another manner.

In the example shown in FIG. 1A, the wireless communication devices102A, 102B transmit wireless signals (e.g., according to a wirelessnetwork standard, a motion detection protocol, or otherwise). Forinstance, wireless communication devices 102A, 102B may broadcastwireless signals (e.g., reference signals, beacon signals, statussignals, etc.), or they may send wireless signals addressed to otherdevices (e.g., a user equipment, a client device, a server, etc.), andthe other devices (not shown) as well as the wireless communicationdevice 102C may receive the wireless signals transmitted by the wirelesscommunication devices 102A, 102B. In some cases, the wireless signalstransmitted by the wireless communication devices 102A, 102B arerepeated periodically, for example, according to a wirelesscommunication standard or otherwise.

In the example shown, the wireless communication device 102C processesthe wireless signals from the wireless communication devices 102A, 102Bto detect motion of an object in a space accessed by the wirelesssignals, to determine a location of the detected motion, or both. Forexample, the wireless communication device 102C may perform one or moreoperations of the example process 600 of FIG. 6, or another type ofprocess for detecting motion or determining a location of detectedmotion. The space accessed by the wireless signals can be an indoor oroutdoor space, which may include, for example, one or more fully orpartially enclosed areas, an open area without enclosure, etc. The spacecan be or can include an interior of a room, multiple rooms, a building,or the like. In some cases, the wireless communication system 100 can bemodified, for instance, such that the wireless communication device 102Ccan transmit wireless signals and the wireless communication devices102A, 102B can processes the wireless signals from the wirelesscommunication device 102C to detect motion or determine a location ofdetected motion.

The wireless signals used for motion detection can include, for example,a beacon signal (e.g., Bluetooth Beacons, Wi-Fi Beacons, other wirelessbeacon signals), another standard signal generated for other purposesaccording to a wireless network standard, or non-standard signals (e.g.,random signals, reference signals, etc.) generated for motion detectionor other purposes. In some examples, the wireless signals propagatethrough an object (e.g., a wall) before or after interacting with amoving object, which may allow the moving object's movement to bedetected without an optical line-of-sight between the moving object andthe transmission or receiving hardware. Based on the received signals,the third wireless communication device 102C may generate motiondetection data. In some instances, the third wireless communicationdevice 102C may communicate the motion detection data to another deviceor system, such as a security system, that may include a control centerfor monitoring movement within a space, such as a room, building,outdoor area, etc.

In some implementations, the wireless communication devices 102A, 102Bcan be modified to transmit motion probe signals (which may include,e.g., a reference signal, beacon signal, or another signal used to probea space for motion) on a separate wireless communication channel (e.g.,a frequency channel or coded channel) from wireless network trafficsignals. For example, the modulation applied to the payload of a motionprobe signal and the type of data or data structure in the payload maybe known by the third wireless communication device 102C, which mayreduce the amount of processing that the third wireless communicationdevice 102C performs for motion sensing. The header may includeadditional information such as, for example, an indication of whethermotion was detected by another device in the communication system 100,an indication of the modulation type, an identification of the devicetransmitting the signal, etc.

In the example shown in FIG. 1A, the wireless communication system 100is a wireless mesh network, with wireless communication links betweeneach of the respective wireless communication devices 102. In theexample shown, the wireless communication link between the thirdwireless communication device 102C and the first wireless communicationdevice 102A can be used to probe a first motion detection field 110A,the wireless communication link between the third wireless communicationdevice 102C and the second wireless communication device 102B can beused to probe a second motion detection field 110B, and the wirelesscommunication link between the first wireless communication device 102Aand the second wireless communication device 102B can be used to probe athird motion detection field 110C. In some instances, each wirelesscommunication device 102 detects motion in the motion detection fields110 accessed by that device by processing received signals that arebased on wireless signals transmitted by the wireless communicationdevices 102 through the motion detection fields 110. For example, whenthe person 106 shown in FIG. 1A moves in the first motion detectionfield 110A and the third motion detection field 110C, the wirelesscommunication devices 102 may detect the motion based on signals theyreceived that are based on wireless signals transmitted through therespective motion detection fields 110. For instance, the first wirelesscommunication device 102A can detect motion of the person in both motiondetection fields 110A, 110C, the second wireless communication device102B can detect motion of the person 106 in the motion detection field110C, and the third wireless communication device 102C can detect motionof the person 106 in the motion detection field 110A.

In some instances, the motion detection fields 110 can include, forexample, air, solid materials, liquids, or another medium through whichwireless electromagnetic signals may propagate. In the example shown inFIG. 1A, the first motion detection field 110A provides a wirelesscommunication channel between the first wireless communication device102A and the third wireless communication device 102C, the second motiondetection field 110B provides a wireless communication channel betweenthe second wireless communication device 102B and the third wirelesscommunication device 102C, and the third motion detection field 110Cprovides a wireless communication channel between the first wirelesscommunication device 102A and the second wireless communication device102B. In some aspects of operation, wireless signals transmitted on awireless communication channel (separate from or shared with thewireless communication channel for network traffic) are used to detectmovement of an object in a space. The objects can be any type of staticor moveable object, and can be living or inanimate. For example, theobject can be a human (e.g., the person 106 shown in FIG. 1A), ananimal, an inorganic object, or another device, apparatus, or assembly),an object that defines all or part of the boundary of a space (e.g., awall, door, window, etc.), or another type of object. In someimplementations, motion information from the wireless communicationdevices may be analyzed to determine a location of the detected motion.For example, as described further below, one of the wirelesscommunication devices 102 (or another device communicably coupled to thedevices 102) may determine that the detected motion is nearby aparticular wireless communication device.

FIG. 1C illustrates example communication paths defining a communicationlink between the wireless communication devices 102A and 102C of FIG.1A. In the example shown, the first wireless communication device 102Aincludes first modem 112A, and the third wireless communication device102C includes third modem 112C. The example wireless modems 112A and112C communicate with each other over multiple communication paths121-124. The four communication paths 121-124 define a communicationlink 126 between the two wireless communication devices 102A and 102C.Each communication path is defined by a signal hardware path of themodem 112A and a signal hardware path of the modem 112C. For instance,in the example shown, the communication path 121 is defined by theantenna 128A of the modem 112A and the antenna 128C of the modem 112C,the communication path 122 is defined by the antenna 128A of the modem112A and the antenna 130C of the modem 112C, the communication path 123is defined by the antenna 130A of the modem 112A and the antenna 128C ofthe modem 112C, and the communication path 124 is defined by the antenna130A of the modem 112A and the antenna 130C of the modem 112C. In someinstances, the modems 112A and 112C may communicate over the variouscommunication paths 121-124 by transmitting signals from both antennas128, 130 (e.g., the same signal at each antenna), and the signals may bereceived by the other modem using one or both of the antennas 128, 130(e.g., depending on interference in the respective communication paths).For instance, signals transmitted by antennas 128A, 130A may only bereceived at the antenna 128C of the modem 112C, where large amounts ofinterference is present near communication paths 122, 124. In someimplementations, the signal hardware paths include multiple antennas ofthe modems. For instance, a communication path may be defined bymultiple antennas at a first modem 112A and multiple antennas at a thirdmodem 112C. More particularly, each communication path is between atransmitter (e.g., one or more transmit antennas) of a first wirelesscommunication device of the pair and a receiver (e.g., one or morereceive antennas) of a second wireless communication device of the pair.In certain implementations, a modem 112 includes two transmitters andtwo receivers, which provide four communication paths per modem. Inother modem configurations, a different number of transmitters andreceivers could be included, such as two transmitters and fourreceivers, which provide eight RF communication paths.

FIG. 2 illustrates an example motion probe signal 202. The examplemotion probe signal 202 can be transmitted, for example, in a wirelesscommunication system in order to monitor for motion in a space. In someexamples, the motion probe signal 202 is transmitted in the form of amotion detection signal on a motion detection channel in a wirelesscommunication network. In some example, the motion probe signal 202includes a motion channel packet. For instance, the motion probe signal202 can include binary data that is converted to an analog signal,up-converted to radio frequency, and wirelessly transmitted by anantenna.

The motion probe signal 202 shown in FIG. 2 includes control data 204and a motion data 206. A motion probe signal 202 may include additionalor different features, and may be formatted in another manner. In theexample shown, the control data 204 may include the type of control datathat would be included in a conventional data packet. For instance, thecontrol data 204 may include a preamble (also called a header)indicating the type of information contained in the motion probe signal202, an identifier of a wireless device transmitting the motion probesignal 202, a MAC address of a wireless device transmitting the motionprobe signal 202, a transmission power, etc. The motion data 206 is thepayload of the motion probe signal 202. In some implementations, themotion data 206 can be or include, for example, a pseudorandom code oranother type of reference signal. In some implementations, the motiondata 206 can be or include, for example, a beacon signal broadcast by awireless network system.

In an example, the motion probe signal 202 is transmitted by a wirelessdevice (e.g., the wireless communication device 102A shown in FIG. 1A)and received at a motion detection device (e.g., the motion detectordevice 102C shown in FIG. 1A). In some cases, the control data 204changes with each transmission, for example, to indicate the time oftransmission or updated parameters. The motion data 206 can remainunchanged in each transmission of the motion probe signal 202. Themotion detection device can process the received signals based on eachtransmission of the motion probe signal 202, and analyze the motion data206 for changes. For instance, changes in the motion data 206 mayindicate movement of an object in a space accessed by the wirelesstransmission of the motion probe signal 202. The motion data 206 canthen be processed, for example, to generate a response to the detectedmotion.

FIGS. 3A and 3B illustrate example signals communicated between wirelesscommunication devices. As shown in FIGS. 3A and 3B, multiple examplepaths of the wireless signals transmitted from the first wirelesscommunication device 304A are illustrated by dashed lines. Along a firstsignal path 316, the wireless signal is transmitted from the firstwireless communication device 304A and reflected off the first wall 302Atoward the second wireless communication device 304B. Along a secondsignal path 318, the wireless signal is transmitted from the firstwireless communication device 304A and reflected off the second wall302B and the first wall 302A toward the third wireless communicationdevice 304C. Along a third signal path 320, the wireless signal istransmitted from the first wireless communication device 304A andreflected off the second wall 302B toward the third wirelesscommunication device 304C. Along a fourth signal path 322, the wirelesssignal is transmitted from the first wireless communication device 304Aand reflected off the third wall 202C toward the second wirelesscommunication device 304B.

In FIG. 3A, along a fifth signal path 324A, the wireless signal istransmitted from the first wireless communication device 304A andreflected off the object at the first position 314A toward the thirdwireless communication device 304C. Between FIGS. 3A and 3B, a surfaceof the object moves from the first position 314A to a second position314B in the space 300 (e.g., some distance away from the first position314A). In FIG. 3B, along a sixth signal path 324B, the wireless signalis transmitted from the first wireless communication device 304A andreflected off the object at the second position 314B toward the thirdwireless communication device 304C. The sixth signal path 324B depictedin FIG. 3B is longer than the fifth signal path 324A depicted in FIG. 3Adue to the movement of the object from the first position 314A to thesecond position 314B. In some examples, a signal path can be added,removed, or otherwise modified due to movement of an object in a space.

In the example shown in FIGS. 3A and 3B, the first wirelesscommunication device 304A can repeatedly transmit a wireless signal. Inparticular, FIG. 3A shows the wireless signal being transmitted from thefirst wireless communication device 304A at a first time, and FIG. 3Bshows the same wireless signal being transmitted from the first wirelesscommunication device 304A at a second, later time. The transmittedsignal can be transmitted continuously, periodically, at random orintermittent times or the like, or a combination thereof. Thetransmitted signal can have a number of frequency components in afrequency bandwidth. The transmitted signal can be transmitted from thefirst wireless communication device 304A in an omnidirectional manner,in a directional manner or otherwise. In the example shown, the wirelesssignals traverse multiple respective paths in the space 300, and thesignal along each path may become attenuated due to path losses,scattering, reflection, or the like and may have a phase or frequencyoffset.

As shown in FIGS. 3A and 3B, the signals from various paths 316, 318,320, 322, 324A, and 324B combine at the third wireless communicationdevice 304C and the second wireless communication device 304B to formreceived signals. Because of the effects of the multiple paths in thespace 300 on the transmitted signal, the space 300 may be represented asa transfer function (e.g., a filter) in which the transmitted signal isinput and the received signal is output. When an object moves in thespace 300, the attenuation or phase offset affected upon a signal in asignal path can change, and hence, the transfer function of the space300 can change. Assuming the same wireless signal is transmitted fromthe first wireless communication device 304A, if the transfer functionof the space 300 changes, the output of that transfer function—thereceived signal—will also change. A change in the received signal can beused to detect movement of an object.

Mathematically, a transmitted signal f(t) transmitted from the firstwireless communication device 304A may be described according toEquation (1):

$\begin{matrix}{{f(t)} = {\sum\limits_{n = {- \infty}}^{\infty}\; {c_{n}e^{j\; \omega_{n}t}}}} & (1)\end{matrix}$

where ω_(n) represents the frequency of n^(th) frequency component ofthe transmitted signal, c_(n) represents the complex coefficient of then^(th) frequency component, and t represents time. With the transmittedsignal f(t) being transmitted from the first wireless communicationdevice 304A, an output signal r_(k)(t) from a path k may be describedaccording to Equation (2):

$\begin{matrix}{{r_{k}(t)} = {\sum\limits_{n = {- \infty}}^{\infty}\; {\alpha_{n,k}c_{n}e^{j{({{\omega_{n}t} + \varphi_{n,k}})}}}}} & (2)\end{matrix}$

where α_(n,k) represents an attenuation factor (or channel response;e.g., due to scattering, reflection, and path losses) for the n^(th)frequency component along path k, and ϕ_(n,k) represents the phase ofthe signal for n^(th) frequency component along path k. Then, thereceived signal R at a wireless communication device can be described asthe summation of all output signals r_(k)(t) from all paths to thewireless communication device, which is shown in Equation (3):

$\begin{matrix}{R = {\sum\limits_{k}{r_{k}(t)}}} & (3)\end{matrix}$

Substituting Equation (2) into Equation (3) renders the followingEquation (4):

$\begin{matrix}{R = {\sum\limits_{k}{\sum\limits_{n = {- \infty}}^{\infty}\; {\left( {\alpha_{n,k}e^{{j\; \varphi_{n,k}})}} \right)c_{n}e^{j\; \omega_{n}t}}}}} & (4)\end{matrix}$

The received signal R at a wireless communication device can then beanalyzed. The received signal R at a wireless communication device canbe transformed to the frequency domain, for example, using a FastFourier Transform (FFT) or another type of algorithm. The transformedsignal can represent the received signal R as a series of n complexvalues, one for each of the respective frequency components (at the nfrequencies ω_(n)). For a frequency component at frequency ω_(n), acomplex value H_(n) may be represented as follows in Equation (5):

$\begin{matrix}{H_{n} = {\sum\limits_{k}{c_{n}\alpha_{n,k}{e^{j\; \varphi_{n,k}}.}}}} & (5)\end{matrix}$

The complex value H_(n) for a given frequency component ω_(n) indicatesa relative magnitude and phase offset of the received signal at thatfrequency component ω_(n). When an object moves in the space, thecomplex value H_(n) changes due to the channel response α_(n,k) of thespace changing. Accordingly, a change detected in the channel responsecan be indicative of movement of an object within the communicationchannel. In some instances, noise, interference or other phenomena caninfluence the channel response detected by the receiver, and the motiondetection system can reduce or isolate such influences to improve theaccuracy and quality of motion detection capabilities.

In some implementations, the channel response can be represented as:

$\begin{matrix}{h_{ch} = {\sum\limits_{k}{\sum\limits_{n = {- \infty}}^{\infty}\; {\alpha_{n,k}.}}}} & (6)\end{matrix}$

In some instances, the channel response h_(ch) for a space can bedetermined, for example, based on the mathematical theory of estimation.For instance, a reference signal R_(ef) can be modified with candidatechannel responses (h_(ch)), and then a maximum likelihood approach canbe used to select the candidate channel which gives best match to thereceived signal (R_(cvd)). In some cases, an estimated received signal({circumflex over (R)}_(cvd)) is obtained from the convolution of thereference signal (R_(ef)) with the candidate channel responses (h_(ch)),and then the channel coefficients of the channel response (h_(ch)) arevaried to minimize the squared error of the estimated received signal({circumflex over (R)}_(cvd)). This can be mathematically illustratedas:

$\begin{matrix}{{\hat{R}}_{cvd} = {{R_{ef} \otimes h_{ch}} = {\sum\limits_{k = {- m}}^{m}\; {{R_{ef}\left( {n - k} \right)}{h_{ch}(k)}}}}} & (7)\end{matrix}$

with the optimization criterion

$\begin{matrix}{\min\limits_{h_{ch}}{\sum{\left( {{\hat{R}}_{cvd} - R_{cvd}} \right)^{2}.}}} & (8)\end{matrix}$

The minimizing, or optimizing, process can utilize an adaptive filteringtechnique, such as Least Mean Squares (LMS), Recursive Least Squares(RLS), Batch Least Squares (BLS), etc. The channel response can be aFinite Impulse Response (FIR) filter, Infinite Impulse Response (IIR)filter, or the like.

As shown in the equation above, the received signal can be considered asa convolution of the reference signal and the channel response. Theconvolution operation means that the channel coefficients possess adegree of correlation with each of the delayed replicas of the referencesignal. The convolution operation as shown in the equation above,therefore shows that the received signal appears at different delaypoints, each delayed replica being weighted by the channel coefficient.In some instances, the channel response h_(ch) for a space can bedetermined based on channel state information (CSI) determined by themodem or other component of the wireless communication device receivingthe wireless signals.

In some aspects, a signal quality metric may be determined for receivedsignals based on the channel response. For example, a determined channelresponse (h_(ch)) for a space may be applied to a reference signal(R_(ef)) to yield an estimated received signal ({circumflex over(R)}_(cvd)), which is an estimation of what the received signal shouldbe based on the channel response (e.g., based on convolution of thereference signal (R_(ef)) with the channel response (h_(ch)) asdescribed above). The estimated received signal ({circumflex over(R)}_(cvd)) and the actual received signal (R_(cvd)) may be used tocompute a signal quality metric. In some examples, for instance, thesignal quality metric is based on (e.g., is set equal to, is computedfrom, is representative of, etc.) a value Q that is determined bycomputing the dot product of the actual received signal (R_(cvd)) andthe difference between the estimated received signal ({circumflex over(R)}_(cvd)) and the actual received signal (R_(cvd)), e.g.:

Q=R _(cvd)·({circumflex over (R)} _(cvd) −R _(cvd)).  (9)

In some cases, received signals may be “rejected” by a wirelesscommunication device. For example, in some implementations, a motiondetection process may include quality criterion for signals. Receivedsignals that do not meet the quality criterion may be rejected (e.g.,discarded or ignored) and not considered in determining whether motionhas occurred in the space 300. The signals may be accepted or rejectedas inputs to the motion detection process based on the signal qualitymetric (e.g., the value Q described by Equation (9)). For instance, insome cases, motion is detected using only a subset of received signalsthat have values Q above a certain threshold.

FIGS. 4A and 4B illustrate an example wireless communication system 400.In the example shown, the example wireless communication system 400 is awireless mesh network that includes multiple remote sensor devices 402A,402B, 402C, 402D, and a hub device 404, and each device can communicatewirelessly with one or more of the other devices in the system 400. Insome instances, the wireless communication system 400 can be used withinthe wireless communication system 100 of FIG. 1A. The remote sensordevices 402 and hub device 404 in FIGS. 4A and 4B can be implemented inthe same or similar manner as the wireless communication devices 102A,102B, and 102C of FIG. 1A, or the wireless communication devices 302 ofFIGS. 3A and 3B. Arrangements other than that shown in FIGS. 4A and 4Bare possible. In some implementations, any one of the remote sensordevices 402 can be configured to perform operations of the hub device404. In some instances, only one device 402 or 404 performs operationsof the hub device 404 described herein.

In the examples shown in FIGS. 4A and 4B, a beacon wireless signal 406is transmitted by the hub device 404 (as shown in FIG. 4A), and inresponse to receiving the beacon wireless signal 406, each of the remotesensor devices 402 transmits a motion probe signal (the motion probesignals 408, 410, 412, 414 as shown in FIG. 4B). When an object 416(e.g., person) moves within the space accessed by the motion probesignals, as shown in FIG. 4B, a signal path of the motion probe signalscan be added, removed, or otherwise modified due to the movement asdescribed above. For example, the motion probe signals 408, 410, 412,414 shown in FIG. 4B may experience attenuation, frequency shifts, phaseshifts, or other effects through their respective paths and may haveportions that propagate in another direction based on interactions withthe moving object. The remote sensor devices 402 and/or the hub device404 can monitor for these changes (e.g., by analyzing the channelresponse as described above) to detect the motion of the object 416 inthe space, and the hub device 404 can detect a relative location of theobject 416 in the space (e.g., based on motion indicator values for theremote sensor devices 402 and/or the hub device 404, as describedbelow).

As shown in FIG. 4A, the hub device 404 transmits an example beaconwireless signal 406 in an omnidirectional manner. The beacon wirelesssignal 406 can be transmitted in another manner (e.g., in another beampattern, such as a non-omnidirectional pattern). For example, the hub404 can broadcast the beacon wireless signal 406. The propagation of thebeacon wireless signal 406 across distances is illustrated bydashed-line, concentric circles. The remote sensor devices 402 receivethe beacon wireless signal 406 and perform one or more operations basedon the received beacon wireless signal 406. In some instances, the hub404 transmits beacons sequentially, namely, transmitting the beaconwireless signal 406 at a first time, and transmitting a subsequentbeacon wireless signal a second, later time. The beacon wireless signals406 transmitted by the hub device 404 may form a series of wirelesssignals. The hub device 404 can transmit beacon wireless signals 406continuously, periodically, at random or intermittent times or the like,or a combination thereof. In certain implementations, for example, thehub device 404 repeatedly transmits the beacon wireless signal 406. Incertain implementations, the beacon wireless signal 406 indicates aninstruction to the remote sensor devices 402 to transmit a motion probesignal.

In some implementations, the beacon wireless signal 406 includessynchronization information that controls a timing of when the remotesensor devices transmit the motion probe signals 408, 410, 412, 414. Forexample, the synchronization information can indicate an instruction tothe remote sensor devices 402 to simultaneously transmit the motionprobe signals 408, 410, 412, 414 at a specified point in time. Asanother example, the synchronization information can indicate aninstruction to the remote sensor devices to transmit the motion probesignals 408, 410, 412, 414 at specified intervals after receiving thebeacon wireless signal 406.

In some implementations, the beacon wireless signal 406 includes asequence value. For example, the hub device 404 can configure the header(e.g., control data) of the beacon wireless signal 406 to include thesequence value. The header of the beacon wireless signal 406 may alsoinclude an identification of the transmitting remote sensor device 402.The hub device 404 may send subsequent beacon wireless signals 406 withincremented or decremented sequence values. To obtain each sequencevalue, the hub device 404 can sequentially select a different value froma set of values, or the hub 404 can generate different values in asequential order. For example, a beacon wireless signal transmitted bythe hub device 404 at a first time (t₀) can include sequence value 999;and at a second, later time (t₁), the hub device 404 can transmit abeacon wireless signal that includes the next sequence value 1000, andso forth, as shown in FIG. 5A. In some instances, the sequence valuerepresents a time position of the wireless signal within the series ofbeacon wireless signals 406. The sequence values may be selected andmodified in subsequent transmissions in another manner.

FIG. 4B illustrates example wireless motion probe signals transmitted inthe wireless communication system 400 of FIG. 4A. In the example shown,each remote sensor device 402 transmits a motion probe signal inresponse to receiving a beacon wireless signal 406 (e.g., from the hubdevice 404, as shown in FIG. 4A). More particularly, in response toreceiving the beacon wireless signal 406, the remote sensor device 402Atransmits a first motion probe signal 408, the remote sensor device 402Btransmits a second motion probe signal 410, the remote sensor devicetransmits a third motion probe signal 412, and the remote sensor device402D transmits a fourth motion probe signal 414. In the example shown,the remote sensor devices 402 transmit the respective motion probesignals 408, 410, 412, 414 in a directional manner. The propagation ofthe motion probe signals 408, 410, 412, 414 across distances isillustrated in FIG. 4B by dashed-line, concentric circular arcs. Theremote sensor devices may transmit the motion probe signals in anothermanner (e.g., in another beam pattern, such as a non-omnidirectionalpattern). In some instances, the hub device 404 transmits motion probesignals in the same manner as the remote sensor devices 402.

In the example shown in FIGS. 4A and 4B, the remote sensor device 402Areceives the beacon wireless signal 406, and in response, performs oneor more operations based on the received signal, such as, for example,updating an internal sequence value. For instance, the remote sensordevice 402A may be configured to store an internal sequence value, andupdate the internal sequence value with the sequence value obtained fromthe most recently received beacon wireless signal 406. The remote sensordevice 402A transmits the first motion probe signal 408 with a sequencevalue (e.g., in a header) that is the same as the stored internalsequence value. The remote sensor device 402A may also transmit thefirst motion probe signal 408 with an identifier indicating that thedevice 402A sent the signal 408. The other remote sensor devices402B-402D and the hub device 404 can then receive signals based on thefirst motion probe signal 408 and perform one or more operationsthereafter (e.g., detect motion, transmit motion information, or otheroperations). The other remote sensor devices 402B-402D may operate inthe same or similar manner as described above with respect to the remotesensor device 402A, or in another manner.

The remote sensor devices 402 and the hub device 404 can detect motionof the object 416 based on the motion probe signals transmitted by theremote sensor devices. For example, the remote sensor devices mayanalyze changes in the channel response (e.g., as described above) todetect whether motion has occurred in the space accessed by the motionprobe signals. In some instances, a specified number of signals (a“motion calculation quantity”) is used to detect whether motion hasoccurred. If motion is detected in the space, then a motion indicatorvalue (MIV) is computed by the device. The MIV represents a degree ofmotion detected by the device based on the wireless signals transmittedor received by the device. For instance, higher MIVs can indicate a highlevel of channel perturbation (due to the motion detected), while lowerMIVs can indicate lower levels of channel perturbation. Higher levels ofchannel perturbation may indicate motion in close proximity to thedevice. The MIVs may include aggregate MIVs (representing a degree ofmotion detected in the aggregate by the respective device 402), linkMIVs (representing a degree of motion detected on particularcommunication links between respective devices 402), path MIVs(representing a degree of motion detected on particular communicationpaths between hardware signal paths of respective devices 402), or acombination thereof. Example MIVs are discussed below with respect toFIGS. 5C-5D.

The hub device 404 can then determine a relative location of thedetected motion of the object 416 based on the MIVs (e.g., by performingone or more of the operations of the example process 600 of FIG. 6). Insome implementations, for instance, the remote sensor devices 402transmit (e.g., periodically or after motion has been detected) motioninformation to the hub device 404 that includes the MIVs computed by therespective remote sensor devices 402. The motion information may alsoinclude, in some instances, other information related to the motiondetection performed by the respective remote sensor devices 402. Forexample, the motion information may include signal quality metric values(e.g., for the device in the aggregate or for respective links betweenthe device and other devices), sequence values of the signals used todetect the motion, or other information used by the devices 402 todetect motion. The hub device 404 then uses the motion information fromthe remote sensor devices 402 and its own motion information (since thehub device 404 also detects motion based on the motion probe signals) todetermine the location of the detected motion (e.g., the location of theobject 416). In some instances, the hub device 404 may weight one ormore of the data in the motion information (e.g., the MIVs) before usingthe data to determine the location of the detected motion.

In some implementations, the detection of motion, the determination ofthe location of the detected motion, or both can be performed by anotherdevice. For example, in some instances, a remote server communicablycoupled to the wireless communication system 400 may receive the motioninformation from the devices 402, 404 (instead of the hub device 404 asdescribed above) and may determine a location of the detected motionbased on the motion information.

FIG. 5A is a table 510 of example sequence values indicated by wirelesssignals transmitted and received in the wireless communication system400 of FIGS. 4A and 4B according to a scenario of one-hundred percent(100%) throughputs. In the example shown, the hub device 404 transmitsten (10) consecutive beacon wireless signals (Beacon No. 0 throughBeacon No. 9), each at one of ten (10) consecutive points in time, froma first time (t₀) through a tenth time (t₉). The hub device 404configures each of the ten (10) consecutive beacon wireless signals(Beacon No. 0 through Beacon No. 9) to include a respective sequencevalue obtained from a set of values {999, 1000, . . . , 1007, 1008}. Inthe example shown, the sequential order of sequence values isincremented by an integer value of one (1); however, the sequence valuescan be incremented, decremented, or otherwise changed in another manner,such as, for example, by being incremented or decremented by an integerof two (2). In some instances, the sequence values include alphabeticalcharacters, and the sequence values are incremented alphabetically(e.g., A through Z, AA through ZZ, and so forth).

The ten (10) consecutive beacon wireless signals (Beacon No. 0 throughBeacon No. 9) are received by each remote sensor device 402, and eachremote sensor device 402 transmits a motion probe signal in response.More particularly, the remote sensor devices 402 configure and transmitten (10) consecutive motion probe signals (e.g., motion probe signals408, 410, 4121, 414) that include a respective sequence value {999,1000, . . . , 1007, 1008} received via the ten (10) consecutive beaconwireless signals.

FIG. 5B is a table 520 of example sequence values indicated by motionprobe signals received in the wireless communication system 400 of FIGS.4A and 4B according to a scenario of various throughputs. Moreparticularly, the table 520 shows the ten (10 most recently-receivedsequence values in motion probe signals on the respective communicationlinks. As in the previous example, the hub device 404 configures eachconsecutive beacon wireless signal with a sequential sequence valueincremented by an integer value of one (1). When interference is presentor a link between devices is otherwise poor (e.g., large distancebetween the devices), only certain beacon wireless signals are receivedby the remote sensor devices. Thus, only those certain sequence valuesreceived by the remote sensor devices are transmitted out in motionprobe signals, and, as shown in FIG. 5B, the motion probe signalsreceived on the various communication links will have varying ranges ofsequence values. These sequence values can indicate a link signalquality, and may be used, for example, to weight the MIV for therespective link. For example, where the link has a large range ofsequence values or older sequence values relative to the other links(e.g., like Link IDs 1 and 7 in FIG. 5B), the signal quality may be poorand the data used to detect motion may be old (relative to the otherlinks). Thus, motion detected on these links (the MIVs for the link) maybe weighted down or not considered when determining a location ofdetected motion.

In the table 520, the identification of each communication linkcorresponds to device identifications of the source and destinationdevices that communicate via that communication link. The remote sensordevices 402A, 402B, 402C, 402D and the hub device 404 have respectivedevice IDs A, B, C, D, and H. In the example shown, the firstcommunication link (Link ID 1) corresponds to source device ID A, anddestination device ID H. The second communication link (Link ID 2)corresponds to source device ID B, and destination device ID H. Thethird communication link (Link ID 3) corresponds to source device ID C,and destination device ID H. The fourth communication link (Link ID 4)corresponds to source device ID D, and destination device ID H. Thefifth communication link (Link ID 5) corresponds to source device ID B,and destination device ID A. The sixth communication link (Link ID 6)corresponds to source device ID C, and destination device ID A. Theseventh communication link (Link ID 7) corresponds to source device IDD, and destination device ID A. The eighth communication link (Link ID8) corresponds to source device ID C, and destination device ID B. Theninth communication link (Link ID 9) corresponds to source device ID D,and destination device ID B. The tenth communication link (Link ID 10)corresponds to source device ID D, and destination device ID C. In theexample shown, the reciprocal links between devices (e.g., thereciprocal link for Link ID 10, where the source is device ID C and thedestination is device ID D) are not shown to avoid redundancy.

FIG. 5C is a table 530 of example motion information for communicationlinks in the wireless communication system 400 of FIGS. 4A and 4B. Inthe example shown, the table 530 includes link MIVs that correspond torespective communication links and indicate an amount of channelperturbation from the detected motion between the source and destinationdevices of the communication link. A higher MIV indicates more channelperturbation between source and destination devices of a communicationlink, and a lower motion value indicates less channel perturbationbetween the pair of source and destination devices. The example MIVs inthe table 530 are normalized between zero (0) to one hundred (100). Thetable 530 also includes signal quality metric values for the respectivecommunication links, and a range of sequence values of the motion probesignals used to detect motion (e.g., the data used to generate the MIVshown in the table 530). Although illustrated as including motioninformation for respective communication links, the table 530 may, insome implementations, include motion information for respectivecommunication paths between the various devices.

The signal quality metric values in the table 530 indicate a relativequality of communications on each respective communication link. Thesignal quality metric value can be based on multiple factors, includinga throughput between the pair of wireless communication devicescorresponding to the communication link (as indicated by the sequencerange for the communication link in the table 530), a signal to noiseratio (SNR), a number of dropped packets, or a combination thereof. Inthe example shown, the signal quality metric is computed to be within arange of zero (0) to one hundred (100). In some instances, the signalquality metric is based on (e.g., equal to) the value Q described abovein Equation (9). A higher signal quality metric indicates a higherquality channel environment of the communication link. For instance, inthe example shown, Link IDs 1 and 7 both have relatively low signalquality metric values of ten (10) based at least in part on the lowthroughput of these communication links.

The sequence range in the table 530 indicate a time period over whichmotion is detected per communication link. As an example, the motionprobe signals used to detect motion on Link ID 1 are collected over alonger period of time based on a larger span of the sequence range from905-995 compared to the shorter sequence range from 999-1008 for Link ID2. In some instances, motion is detected using a specified number ofdata packets, so a larger sequence range indicate a longer period oftime needed to gather the specified number of packets for motiondetection. With poor links (such as Link ID 1), it may take longer tocollect the specified number of packets, and thus, the motion detectionmay be more unreliable as compared to a link (such as Link ID 2) whosedata packets were more recently received. Thus, in some instances, theMIVs may be weighted based on the sequence range associated with theMIV. A corresponding weighted MIV can be generated by scaling anunweighted MIV by the determined weight.

The hub device 404 can determine a weight based on a time factor (e.g.,such as the sequence range), a signal quality metric value, or anotherfactor. For example, the hub device 404 can select the maximum sequencevalue in the Sequence Range column as a temporal reference value (alsoreferred to as “reference sequence value”) and weight the MIV based onthe reference sequence value. In the example shown, the hub device 404selects a value of 1008 as the reference sequence value, since that isthe most recently-received sequence value. The hub 404 can generate aweight based on the reference sequence value in various ways. Forinstance, in the example shown, a binary weighting (e.g., weightingvalues of zero (0) or one (1) are used) is applied based on whether themaximum sequence value for the communication link is within a thresholdsequence range of the reference sequence value. Thus, in the exampleshown, the MIVs for Link IDs 1 and 7 are weighted to zero (0) becausetheir maximum sequence value is not within 10 of the reference sequencevalue of 1008. Another weighting technique can be implemented instead ofthe binary technique shown. For instance, a gradual weighting methodthat applies a weighting factor between zero (0) and one (1) can beused. In some instances, for example, a communication link that has amaximum sequence value (e.g., 900) far off (e.g., outside a thresholdsequence range) from the reference sequence value (1008 in the exampleshown) can contribute some portion of its MIV to the locationdetermination, such as by applying a weight that is greater than zero.

In some implementations, a neural network is trained to determine thelocation of detected motion based on information provided by the hubdevice 404. For instance, the hub device 404 can provide the informationin the table 530 as an input to a trained neural network, and the neuralnetwork can provide a determination of the location of the detectedmotion. The neural network can be configured to generate a weightingfunction through a machine-learning process, wherein input data to theneural network includes a range of sequence values and correspondingmotion values.

FIG. 5D is a table 540 of example aggregate motion indicator values andconfidence factors corresponding to wireless communication devices inthe wireless communication network 400 of FIGS. 4A and 4B. Inparticular, the table 540 includes confidence factors that are Peak toAverage Ratios of the MIVs (with or without weighting applied). Theaggregate MIVs are based on the link MIVs shown in the table 530. Insome instances, the aggregate MIVs can be computed according to thefollowing equation:

$\begin{matrix}{{{motion}({device})} = {\sum\limits_{links}{{{motion}({link})}\left\lbrack {{link}_{source} = {{{device}{link}_{dest}} = {device}}} \right\rbrack}}} & (10)\end{matrix}$

For instance, in the example shown for Link ID 1, the motion indicatorvalue (motion(link)) indicates a degree of motion detected between theremote sensor device 402A (link_(source)) and the hub device 404(link_(dest)) A higher aggregate MIV for a device may indicate that thedetected motion is near that device, while a lower aggregate MIV mayindicate that the detected motion is further away from the device. Thehub device 404 can then compare the aggregate MIVs for the respectivedevices to determine a location of detected motion. For instance, in theexample shown, the hub device 404 can determine that the detected motionis nearest to device ID A since that devices has the highest aggregateMIV (in both the weighted and non-weighted cases). In some instances,the weighted MIVs may be used to determine the location of the detectedmotion. In some implementations, the hub device 404 determines a peak toaverage ratio of the aggregate MIVs (weighted or unweighted). The peakto average ratio can be used as a confidence factor, which can berepresented as:

$\begin{matrix}{{{peak}_{ratio}({device})} = \frac{{motion}({device})}{{motion}_{average}}} & (11)\end{matrix}$

The confidence factor can then be used to determine the location of thedetected motion. For instance, in the example shown, the hub device 404can determine that the detected motion is nearest device ID A since itis the device with the highest confidence factor (peak to average ratio;in both the weighted and unweighted cases). In some cases, such as wherethe number of users is less than the number of remote sensor devices402, the hub device 404 can extend the confidence factor to determinethat there is motion at the corresponding devices. For example, if thewireless communication system 400 includes 5 total devices and 1 user,then the wireless communication device that has the highest peak toaverage ratio that is above a threshold peak to average ratio valuewould indicate the likelihood that the user is near the wirelesscommunication device that has the highest confidence factor. Similarly,if wireless communication system 400 includes 5 total devices and 2users, then the top two confidence factors above a certain value mayindicate the likelihood the users are near the two devices that have thetwo highest confidence factors.

In certain implementations, the hub device 404 can perform time averagedsampling over a period of time to smooth out the aggregate MIVs ofcommunication links based on the signal quality metric values. In someinstances, the motion information can be further aggregated intosnapshots to indicate as a percentage which wireless communicationdevice detected motion for various time periods. For a given period, thefreshness of the motion information (e.g., how recently the motion probesignals were received, based on the sequence values) can be used toincrement a counter for the determined location of the detected motionbased on wireless communication device (e.g., device ID). If, during thesample period, the freshness of the data is below a threshold (e.g., themost recent sequence value is less than a particular reference value),then the counter is not incremented. Then, over a certain time period,the sum of each device's counter can be used (e.g., as a percentage) todetermine the most active wireless communication device (the deviceclosest to the detected motion) for the time period.

In some implementations, the location of the detected motion can beindicated on user equipment (e.g., smartphone, speaker) or an electronicdisplay device (e.g., television, monitor, screen) to display or presentthe determined location of an object (i.e., person). The location ofdetected motion can be presented, for example, to a user in an interface(e.g., visual, audio, audiovisual display) highlighting the device 402or 404 where motion was last determined to occur.

FIG. 6 illustrates a process 600 of determining a location of detectedmotion in a space. In some instances, the process 600 may be implementedto determine a location of detected motion based on motion indicatorvalues for respective devices, communication links, communication paths,or a combination thereof. Operations in the example process 600 may beperformed by a data processing apparatus (e.g., the processor 114 of theexample wireless communication device 102C in FIG. 1A) to determine thelocation of the detected motion based on signals received at variouswireless communication devices (e.g., the hub device 404 of FIGS. 4A and4B may determine the location of the detected motion of the object 416based on signals received at the remote sensor devices 402 and the hubdevice 404). The example process 600 may be performed by another type ofdevice. For instance, operations of the process 600 may be performed bya system other than the wireless communication devices that receive thesignals (e.g., a computer system connected to the wireless communicationsystem 400 of FIGS. 4A and 4B that aggregates and analyzes motionindicator values).

The example process 600 may include additional or different operations,and the operations may be performed in the order shown or in anotherorder. In some cases, one or more of the operations shown in FIG. 6 areimplemented as processes that include multiple operations, sub-processesor other types of routines. In some cases, operations can be combined,performed in another order, performed in parallel, iterated, orotherwise repeated or performed another manner.

At 602, wireless signals are transmitted through a space. The wirelesssignals may be motion probe signals configured to probe the space formotion. The motion probe signals may be formatted similar to the motionprobe signal 202 of FIG. 2, or in another manner. Referring to theexample shown in FIGS. 4A and 4B, the remote sensor devices 402 transmitmotion probe signals in response to beacon wireless signals transmittedby the hub device 404. In certain implementations, the beacon wirelesssignal includes a sequence value that indicates a point in time that thebeacon wireless signal is transmitted, and the remote sensor devicesinclude the sequence value in the motion probe signal (e.g., in thecontrol data 204) transmitted in response to the beacon wireless signal.

At 604, motion is detected based on the wireless signals transmitted at602. Motion may be detected at one or more of the wireless communicationdevices that receive the signals transmitted at 602. For instance,referring to the example shown in FIGS. 4A and 4B, each of the remotesensor devices 402 and the hub device 404 can execute a motion detectionprocess to detect motion of the object 416. The motion detection processmay detect motion of the object 416 based on the set of signals receivedby the respective wireless communication device at 602. In someinstances, the motion detection process includes a comparison of signalsreceived over a period of time. For example, motion may be detectedbased on a detected change in a frequency response of the signalsreceived at 602, or based upon a detected change in the channel responsefor the space (e.g., based on channel state information (CSI)).

At 606, motion indicator values are computed for respectivecommunication links. The motion indicator values may indicate a relativedegree of motion detected on the communication link. For instance,referring to the example shown in FIG. 5C, the motion indicator valuesin the fourth column of the table 530 indicate a degree of motiondetected by one or both of the devices indicated in the second and thirdcolumns on the respective communication link between those devices. Themotion indicator values may be computed based on an amount ofperturbation observed in the channel response for the communicationlink. In some instances, the motion indicator values are normalized. Forexample, the motion indicator values in the table 530 of FIG. 5C arevalues normalized between zero (0) and one hundred (100).

At 608, time factors are computed for respective communication links.The time factors for an individual communication link may be: (i) rangeof sequence values included in the motion probe signals used to detectmotion on that communication link, (ii) a set (e.g., all) of thesequence values included in the motion probe signals used to detectmotion on that communication link, (iii) the minimum or maximum sequencevalue in the set of sequence values included in the motion probe signalsused to detect motion on that communication link, or (iv) anotherindicator of a time period over which motion probe signals are obtainedto detect motion. In some implementations, the time factor for eachcommunication link includes a value based on one or more of theaforementioned examples. For example, the time factor may be a weightingfactor that is based on the maximum or minimum sequence values in theset of motion probe signals used to detect motion.

At 610, the motion indicator values are processed. The motion indicatorvalues may be processed by a designated hub device (e.g., the hub device404 in the example shown in FIGS. 4A and 4B), or by another systemcommunicably coupled to the devices transmitting or sending motion probesignals. In certain implementations, processing the motion indicatorvalues for the respective communication links includes computing anaggregate motion indicator value for the wireless communication devices.Computing the aggregate motion indicator values may include, in someinstances, computing a sum of each link motion indicator valueassociated with the wireless communication device. For instance,referring to the example shown in FIGS. 5C-5D, the values in the secondcolumn of table 540 include sums of the link motion indicator valuesshown in table 530. The summed link motion indicator values may be usedas the aggregate motion indicator values at 612 to determine a locationof detected motion in some cases.

In certain implementations, computing the aggregate motion indicatorvalues includes computing a peak to average ratio of the summed linkmotion indicator values for each wireless communication device. Forinstance, referring to the example shown in FIGS. 5C-5D, the values inthe third column of table 540 include peak to average ratios for thesummed link motion indicator values shown in table 530. The peak toaverage ratios may be used as the aggregate motion indicator values at612 to determine a location of detected motion in some cases. In someinstances, the peak to average ratios may be used as confidence factorsas described above.

In some implementations, processing the motion indicator values for therespective communication links includes weighting (e.g., using a binaryweighting, a gradual weighting, or a weighting scheme determined by aneural network) the link motion indicator values. In some instances, theweighting is based on the time factors computed at 608. For example. Thesame sum and peak to average values as described above can then becomputed based on the weighted motion indicator values, and the computedvalues can be used as the aggregate motion indicator values at 612 todetermine a location of detected motion.

At 612, a location of detected motion is determined. The location of thedetected motion can be determined as a likelihood that the motion of anobject is near one or more of the wireless communication devices. Insome instances, the location is determined based on (i) the highestaggregate motion indicator value based on unweighted link motionindicator values; (ii) the highest aggregate motion indicator valuebased on weighted link motion indicator values; (iii) the highestconfidence factor (e.g., peak to average ratio); or (iv) confidencefactors that are greater than a threshold value. In someimplementations, the determined location is with respect to one of thewireless communication devices. For instance, referring to the exampleshown in FIGS. 5C-5D, the determined location may be indicated withrespect to Device ID A (e.g., “Detected motion near Device ID A”) basedon Device ID A having the highest sum of link motion indicator values orhighest peak to average ratio of all the devices. In someimplementations, the determined location is with respect to multiplewireless communication devices. For instance, referring to the exampleshown in FIGS. 5C-5D, the determined location may be indicated withrespect to Device IDs A and B (e.g., “Detected motion near Device IDs Aand B”) based on those devices having peak to average ratios (in theweighted scenario) greater than one (1).

Although this disclosure is described with reference to motion valuesdetermined per communication link (e.g., communication link 126 in FIG.1C), the process 600 of FIG. 6 can be implemented on a per communicationpath basis (e.g., the communication path 121-124 in FIG. 1C). In someinstances, this may scale the number of inputs into the motionlocalization process described above. For example, in someimplementations, the motion indicator values are computed for respectivecommunication paths. For instance, assuming that each device indicatedin the table 530 of FIG. 5C has two transmit and two receive antennas,motion indicator values may be computed for each of the fourcommunication paths between the respective antennas of the devices. Insome cases, the motion indicator values for the communication link maybe based on the motion indicator values for the respective communicationpaths of the link. In some instances, the motion indicator values forthe respective communication paths can be weighted based on a signalquality metric value for the communication path, and the weighted valuesfor the communication paths can be used to determine the motionindicator values for the communication link. In some cases, the motionindicator values for the communication paths can be used in the samemanner as described herein with respect to the use of motion indicatorvalues for the communication links (e.g., the path motion indicatorvalues may be used at 610 to compute the aggregate motion indicatorvalues for the communication devices instead of the link motionindicator values). Time factors may also be computed for each respectivecommunication path in the same manner as described above for thecommunication links. In some instances, the time factors may be used tocompute the time factors for the respective communication links, or maybe used in lieu of the time factors for the respective communicationlinks (e.g., the path time factors may be used at 610 instead of thelink time factors).

Some of the subject matter and operations described in thisspecification can be implemented in digital electronic circuitry, or incomputer software, firmware, or hardware, including the structuresdisclosed in this specification and their structural equivalents, or incombinations of one or more of them. Some of the subject matterdescribed in this specification can be implemented as one or morecomputer programs, i.e., one or more modules of computer programinstructions, encoded on a computer storage medium for execution by, orto control the operation of, data-processing apparatus. A computerstorage medium can be, or can be included in, a computer-readablestorage device, a computer-readable storage substrate, a random orserial access memory array or device, or a combination of one or more ofthem. Moreover, while a computer storage medium is not a propagatedsignal, a computer storage medium can be a source or destination ofcomputer program instructions encoded in an artificially generatedpropagated signal. The computer storage medium can also be, or beincluded in, one or more separate physical components or media (e.g.,multiple CDs, disks, or other storage devices).

Some of the operations described in this specification can beimplemented as operations performed by a data processing apparatus ondata stored on one or more computer-readable storage devices or receivedfrom other sources.

The term “data processing apparatus” encompasses all kinds of apparatus,devices, and machines for processing data, including by way of example aprogrammable processor, a computer, a system on a chip, or multipleones, or combinations, of the foregoing. The apparatus can includespecial purpose logic circuitry, e.g., an FPGA (field programmable gatearray) or an ASIC (application specific integrated circuit). Theapparatus can also include, in addition to hardware, code that createsan execution environment for the computer program in question, e.g.,code that constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, a cross-platform runtimeenvironment, a virtual machine, or a combination of one or more of them.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, declarative orprocedural languages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, object, orother unit suitable for use in a computing environment. A computerprogram may, but need not, correspond to a file in a file system. Aprogram can be stored in a portion of a file that holds other programsor data (e.g., one or more scripts stored in a markup languagedocument), in a single file dedicated to the program, or in multiplecoordinated files (e.g., files that store one or more modules, subprograms, or portions of code). A computer program can be deployed to beexecuted on one computer or on multiple computers that are located atone site or distributed across multiple sites and interconnected by acommunication network.

Some of the processes and logic flows described in this specificationcan be performed by one or more programmable processors executing one ormore computer programs to perform actions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andprocessors of any kind of digital computer. Generally, a processor willreceive instructions and data from a read-only memory or a random-accessmemory or both. Elements of a computer system can include a processorthat performs actions in accordance with instructions, and one or morememory devices that store the instructions and data. A computer systemmay also include, or be operatively coupled to receive data from ortransfer data to, or both, one or more mass storage devices for storingdata, e.g., non-magnetic drives (e.g., a solid-state drive), magneticdisks, magneto optical disks, or optical disks. However, a computersystem need not have such devices. Moreover, a computer system can beembedded in another device, e.g., a phone, a tablet computer, anelectronic appliance, a mobile audio or video player, a game console, aGlobal Positioning System (GPS) receiver, an Internet-of-Things (IoT)device, a machine-to-machine (M2M) sensor or actuator, or a portablestorage device (e.g., a universal serial bus (USB) flash drive). Devicessuitable for storing computer program instructions and data include allforms of non-volatile memory, media and memory devices, including by wayof example semiconductor memory devices (e.g., EPROM, EEPROM, flashmemory devices, and others), magnetic disks (e.g., internal hard disks,removable disks, and others), magneto optical disks, and CD ROM andDVD-ROM disks. In some cases, the processor and the memory can besupplemented by, or incorporated in, special purpose logic circuitry.

To provide for interaction with a user, operations can be implemented ona computer having a display device (e.g., a monitor, or another type ofdisplay device) for displaying information to the user and a keyboardand a pointing device (e.g., a mouse, a trackball, a stylus, a touchsensitive screen, or another type of pointing device) by which the usercan provide input to the computer. Other kinds of devices can be used toprovide for interaction with a user as well; for example, feedbackprovided to the user can be any form of sensory feedback, e.g., visualfeedback, auditory feedback, or tactile feedback; and input from theuser can be received in any form, including acoustic, speech, or tactileinput. In addition, a computer can interact with a user by sendingdocuments to and receiving documents from a device that is used by theuser; for example, by sending web pages to a web browser on a user'sclient device in response to requests received from the web browser.

A computer system may include a single computing device, or multiplecomputers that operate in proximity or generally remote from each otherand typically interact through a communication network. Thecommunication network may include one or more of a local area network(“LAN”) and a wide area network (“WAN”), an inter-network (e.g., theInternet), a network comprising a satellite link, and peer-to-peernetworks (e.g., ad hoc peer-to-peer networks). A relationship of clientand server may arise by virtue of computer programs running on therespective computers and having a client-server relationship to eachother.

In a general aspect of some of the examples described, a location ofdetected motion in a space is determined.

In a first example, motion of an object in a space is detected based onwireless signals communicated through the space by a wirelesscommunication system comprising multiple wireless communication devices.Each wireless signal is transmitted and received by a respective pair ofthe wireless communication devices. Motion indicator values arecomputed, by operation of one or more processors, for the respectivewireless communication devices. The motion indicator value for eachindividual wireless communication device represents a degree of motiondetected by the individual wireless communication device based on asubset of the wireless signals transmitted or received by the individualwireless communication device. A location of the detected motion in thespace is determined based on the motion indicator values.

Implementations of the first example may, in some cases, include one ormore of the following features. The wireless communication system mayinclude a hub device and remote sensor devices, and the hub device mayreceive motion indicator values from the remote sensor devices anddetermine the location of the detected motion based on the receivedmotion indicator values. The motion indicator values may be aggregatemotion indicator values. Link motion indicator values are obtained forrespective communication links in the wireless communication system, andthe aggregate motion indicator value for each wireless communicationdevice is computed based on the link motion indicator values for thesubset of the communication links supported by the wirelesscommunication device. Each communication link may be provided by arespective pair of the wireless communication devices. Computing theaggregate motion indicator value for a wireless communication device mayinclude weighting the link motion indicator values for the subset ofcommunication links based on signal quality metrics for the respectivecommunication links. The wireless communication system may include aplurality of communication links, where each communication link isprovided by a respective pair of the wireless communication devices, andeach communication link includes multiple communication paths, with eachcommunication path being between a first signal hardware path of a firstwireless communication device of the pair and a second signal hardwarepath of a second wireless communication device of the pair. Path motionindicator values for respective communication paths in the wirelesscommunication system may be obtained, and the aggregate motion indicatorvalue for each wireless communication device may be computed based onthe path motion indicator values for the subset of the communicationpaths supported by the wireless communication device.

Implementations of the first example may, in some cases, include one ormore of the following features. A confidence factor may be computed, foreach wireless communication device based on scaling the motion indicatorvalue for the wireless communication device by a normative motionindicator value for the wireless communication devices, wherein thelocation of the detected motion is determined based on the confidencefactors. Determining the location of the detected motion in the spacemay include determining which of the wireless communication devices isnearest the detected motion based on comparing the respective motionindicator values for the wireless communication devices. The location ofthe detected motion in the space may be determined based on signalquality metrics for respective communication links in the wirelesscommunication system, where each communication link provided by arespective pair of the wireless communication devices. Determining thelocation of the detected motion in the space may include combiningsignal quality metrics for the subset of communication links supportedby each wireless communication device. The motion indicator values maybe provided as inputs to a neural network, and the location of thedetected motion may be determined based on an output of the neuralnetwork.

In a second example, motion of an object in a space is detected based ona series of wireless signals communicated through the space by awireless communication system comprising multiple wireless communicationdevices. Time factors are computed, by operation of one or moreprocessors, for each respective pair of the wireless communicationdevices based on sequence values included in respective wireless signalstransmitted and received between the pair of the wireless communicationdevices. The sequence value in each wireless signal represents a timeposition of the wireless signal within the series. A location of thedetected motion in the space is determined based on the time factors.

Implementations of the second example may, in some cases, include one ormore of the following features. The wireless communication system mayinclude a hub device and remote sensor devices. The hub device mayreceive motion indicator values from the remote sensor devices anddetermine the location of the detected motion based on the receivedmotion indicator values and the time factors. Motion indicator valuesmay be computed for the respective wireless communication devices of thewireless communication system, where the motion indicator value for eachindividual wireless communication device represents a degree of motiondetected by the individual wireless communication device. The motionindicator value may be based on a subset of the series wireless signalsthat are transmitted or received by the individual wirelesscommunication device. The location of the detected motion may bedetermined based on the motion indicator values and the time factors.Each motion indicator value may be weighted by an associated timefactor, and the location of the detected motion may be determined basedon the weighted motion indicator values. The associated time factor maybe for a same wireless communication device as the motion indicatorvalue.

Implementations of the second example may, in some cases, include one ormore of the following features. Computing the time factors may includeselecting a reference sequence value from among sequence values includedin a set of the wireless signals received by the wireless communicationdevices of the wireless communication system, and computing the timefactors for each communication link provided by each of the respectivepairs of the wireless communication devices. The computing of the timefactor for each communication link may be based on a determination ofwhether the sequence values in the wireless signals received on thecommunication link are within a threshold sequence range of thereference sequence value. The reference sequence value may be a maximumor minimum sequence value in the set of the wireless signals received bythe wireless communication devices of the wireless communication system.Computing the time factor for each communication link may includedetermining whether a maximum sequence value included in a subset of thewireless signals received on the communication link is within athreshold sequence range of the reference sequence value. The sequencevalues may be provided as inputs to a neural network, and the timefactors may be computed based on an output of the neural network.

In some implementations, a computer-readable storage medium storesinstructions that are operable when executed by a data processingapparatus to perform one or more operations of the first or secondexample. In some implementations, a system (e.g., a wirelesscommunication device, computer system or other type of systemcommunicatively coupled to the wireless communication device) includesone or more data processing apparatuses and a memory storinginstructions that are operable when executed by the data processingapparatus to perform one or more operations of the first or secondexample. In some implementations, a motion detection system includes ahub device and one or more remote sensor devices that are configured toperform one or more operations of the first or second example.

While this specification contains many details, these should not beconstrued as limitations on the scope of what may be claimed, but ratheras descriptions of features specific to particular examples. Certainfeatures that are described in this specification in the context ofseparate implementations can also be combined. Conversely, variousfeatures that are described in the context of a single implementationcan also be implemented in multiple embodiments separately or in anysuitable subcombination.

A number of embodiments have been described. Nevertheless, it will beunderstood that various modifications can be made. Accordingly, otherembodiments are within the scope of the following claims.

1-30. (canceled)
 31. A motion detection method comprising: detectingmotion of an object in a space, based on a series of wireless signalscommunicated through the space by a wireless communication systemcomprising multiple wireless communication devices, the wireless signalsin the series being transmitted and received between respective pairs ofthe wireless communication devices and comprising sequence values basedon beacon wireless signals from a hub device, wherein the sequence valuerepresents a time position of the wireless signal within the series ofwireless signals; by operation of one or more processors, computing timefactors for each pair of the wireless communication devices based on thesequence values included in the wireless signals transmitted andreceived between the pair of the wireless communication devices; byoperation of one or more processors, computing weighted motion indicatorvalues for each pair of the wireless communication devices based on thetime factors; determining a location of the detected motion in the spacebased on the time factors weighted motion indicator values.
 32. Themethod of claim 31, wherein the wireless communication system comprisesthe hub device and remote sensor devices, wherein the hub devicereceives motion indicator values from the remote sensor devices anddetermines the location of the detected motion based on the receivedmotion indicator values and the time factors.
 33. The method of claim31, comprising: computing motion indicator values for the respectivewireless communication devices of the wireless communication system, themotion indicator value for each individual wireless communication devicerepresenting a degree of motion detected by the individual wirelesscommunication device and being based on a subset of the series wirelesssignals that are transmitted or received by the individual wirelesscommunication device.
 34. The method of claim 33, comprising: weightingeach motion indicator value by an associated time factor, wherein theassociated time factor is for a same wireless communication device asthe motion indicator value.
 35. The method of claim 31, whereincomputing the time factors comprises: selecting a reference sequencevalue from among sequence values included in a set of the wirelesssignals received by the wireless communication devices of the wirelesscommunication system, and computing the time factors for eachcommunication link provided by each of the respective pairs of thewireless communication devices, wherein the computing of the time factorfor each communication link is based on a determination of whether thesequence values in the wireless signals received on the communicationlink are within a threshold sequence range of the reference sequencevalue.
 36. The method of claim 35, wherein the reference sequence valueis a maximum or minimum sequence value in the set of the wirelesssignals received by the wireless communication devices of the wirelesscommunication system.
 37. The method of claim 35, wherein computing thetime factor for each communication link comprises determining whether amaximum sequence value included in a subset of the wireless signalsreceived on the communication link is within a threshold sequence rangeof the reference sequence value.
 38. The method of claim 31, comprising:providing the sequence values as inputs to a neural network; andcomputing the time factors based on an output of the neural network. 39.A non-transitory computer-readable storage medium storing instructionsthat are operable when executed by the data processing apparatus toperform operations comprising: detecting motion of an object in a space,based on a series of wireless signals communicated through the space bya wireless communication system comprising multiple wirelesscommunication devices, the wireless signals in the series beingtransmitted and received between respective pairs of the wirelesscommunication devices and comprising sequence values based on beaconwireless signals from a hub device, wherein the sequence valuerepresents a time position of the wireless signal within the series ofwireless signals; computing time factors for each pair of the wirelesscommunication devices based on the sequence values included in thewireless signals transmitted and received between the pair of thewireless communication devices; by operation of one or more processors,computing weighted motion indicator values for each pair of the wirelesscommunication devices based on the time factors; and determining alocation of the detected motion in the space based on the weightedmotion indicator values.
 40. The non-transitory computer-readablestorage medium of claim 39, wherein the wireless communication systemcomprises the hub device and remote sensor devices, wherein the hubdevice receives motion indicator values from the remote sensor devicesand determines the location of the detected motion based on the receivedmotion indicator values and the time factors.
 41. The non-transitorycomputer-readable storage medium of claim 39, wherein the operationscomprise: computing motion indicator values for the respective wirelesscommunication devices of the wireless communication system, the motionindicator value for each individual wireless communication devicerepresenting a degree of motion detected by the individual wirelesscommunication device and being based on a subset of the series wirelesssignals that are transmitted or received by the individual wirelesscommunication device.
 42. The non-transitory computer-readable storagemedium of claim 41, wherein the operations comprise: weighting eachmotion indicator value by an associated time factor, wherein theassociated time factor is for a same wireless communication device asthe motion indicator value.
 43. The non-transitory computer-readablestorage medium of claim 39, wherein computing the time factorscomprises: selecting a reference sequence value from among sequencevalues included in a set of the wireless signals received by thewireless communication devices of the wireless communication system, andcomputing the time factors for each communication link provided by eachof the respective pairs of the wireless communication devices, whereinthe computing of the time factor for each communication link is based ona determination of whether the sequence values in the wireless signalsreceived on the communication link are within a threshold sequence rangeof the reference sequence value.
 44. The non-transitorycomputer-readable storage medium of claim 43, wherein the referencesequence value is a maximum or minimum sequence value in the set of thewireless signals received by the wireless communication devices of thewireless communication system.
 45. The non-transitory computer-readablestorage medium of claim 43, wherein computing the time factor for eachcommunication link comprises determining whether a maximum sequencevalue included in a subset of the wireless signals received on thecommunication link is within a threshold sequence range of the referencesequence value.
 46. The non-transitory computer-readable storage mediumof claim 39, wherein the operations comprise: providing the sequencevalues as inputs to a neural network; and computing the time factorsbased on an output of the neural network.
 47. A motion detection systemcomprising: multiple remote sensor devices, each remote sensor deviceconfigured to detect motion of an object in the space based on a seriesof wireless signals received from other remote sensor devices, thewireless signals in the series being transmitted and received betweenrespective pairs of the remote sensor devices and comprising sequencevalues based on beacon wireless signals from a hub device, wherein thesequence value represents a time position of the wireless signal withinthe series of wireless signals; and the hub device communicably coupledto the remote sensor devices and configured to: compute time factors foreach communication link between respective pairs of remote sensordevices based on the sequence values included in the respective wirelesssignals transmitted and received between the pairs of the remote sensordevices; compute weighted motion indicator values for each link betweenrespective pairs of remote sensor devices based on the time factors; anddetermine a location of the detected motion in the space based on theweighted motion indicator values for the respective remote sensordevices.
 48. The motion detection system of claim 47, wherein the remotesensor devices and the hub device form a wireless mesh network.
 49. Themotion detection system of claim 47, wherein: each remote sensor deviceis configured to compute, for each communication link between the remotesensor device and another remote sensor device, a motion indicator valuerepresenting a degree of motion detected by the remote sensor device onthe communication link, the motion indicator value being based on asubset of the series wireless signals that are transmitted or receivedon the communication link.
 50. The motion detection system of claim 49,wherein the hub device is configured to: weight each motion indicatorvalue by an associated time factor, the associated time factor being fora same remote device as the motion indicator value.
 51. The motiondetection system of claim 47, wherein the hub device is configured tocompute the time factors by: selecting a reference sequence value fromamong sequence values included in a set of the wireless signals receivedby the remote sensor devices of the motion detection system, andcomputing the time factors for each communication link provided by eachof the respective pairs of the remote sensor devices, wherein thecomputing of the time factor for each communication link is based on adetermination of whether the sequence values in the wireless signalsreceived on the communication link are within a threshold sequence rangeof the reference sequence value.
 52. The motion detection system ofclaim 51, wherein the reference sequence value is a maximum or minimumsequence value in the set of the wireless signals received by the remotesensor devices of the motion detection system.
 53. The motion detectionsystem of claim 51, wherein computing the time factor for eachcommunication link comprises determining whether a maximum sequencevalue included in a subset of the wireless signals received on thecommunication link is within a threshold sequence range of the referencesequence value.
 54. The motion detection system of claim 47, wherein thehub device is configured to: provide the sequence values as inputs to aneural network; and compute the time factors based on an output of theneural network.